package com.example.dbcms.service;

import com.example.dbcms.domain.User;
import com.example.dbcms.vo.ResultVo;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface UserService {

    /**
     * 获取所有用户
     * @param user
     * @return
     */
    PageInfo<User> selectAllUser(User user);

    /**
     * 通过id删除用户
     * @param id
     * @return
     */
    int deleteUserById(int id);

    /**
     * 删除多条用户数据
     * @param ids
     * @return
     */
    int deleteMultipleUserById(List<Integer> ids);

    /**
     * 通过id查找用户
     * @param id
     * @return
     */
    User getUserById(int id);

    /**
     * 修改用户数据
     * @param user
     * @return
     */
    int updateUserById(User user);

    /**
     * 添加用户
     * @param user
     * @return
     */
    int addUser(User user);

    /**
     * 通过用户账户查询用户
     * @param account
     * @return
     */
    User getUserByUserAccount(String account);

    /**
     * 修改头像地址
     * @param file
     * @param userAccount
     * @return
     */
    ResultVo updatePicture(MultipartFile file,String userAccount);

    /**
     * 通过id修改用户密码
     * @param original   原始密码
     * @param password   新密码
     * @param confirm    确认新密码
     * @return
     */
    ResultVo editPassword(String original,String password,String confirm);
}
